dot Net Core学习
环境配置
方法一 去官网下载
方法二 可以使用VS2019来安装这些环境
# 如果装好了可以查看一些这命令在哪
Get-Command dotnet
.NET Core 与 .NET Framework、Mono之间的关系
.NET Framework
和Windows已经深深的绑定在一起,以至于老一些的程序提起.Net
就是Windows,所以很难跨平台
而谈到C#跨平台一般指的是.NET Core
和Mono
Mono
和.NET Core
做的事情其实差不多 都是让.NET Framework
能够跨平台,只不过mono
是开源社区项目,无法受到微软的控制,而.NET Core
则是官方自己的。
ASP.NET Core
什么是 ASP.NET Core
ASP.NET Core
是一个跨平台的高性能开源框架,用于生成启用云且连接 Internet 的新式应用。 使用ASP.NET Core
,可以:
- 生成 Web 应用和服务、物联网 (IoT) 应用和移动后端。
- 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
- 部署到云或本地。
- 在 .NET Core 或 .NET Framework 上运行。
总之就是ASP.NET Core
是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。
而ASP.NET Core
和ASP.NET
是有区别的,前者是依托于.NET Core
构建,后者则是.NET Framework
两者的区别可以参见官网
ASP.NET Core | ASP.NET 4.x |
---|---|
针对 Windows、macOS 或 Linux 进行生成 | 针对 Windows 进行生成 |
Razor Pages 是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法。 另请参阅 MVC、Web API 和 SignalR。 | 使用 Web Forms、SignalR、MVC、Web API、WebHook 或网页 |
每个计算机多个版本 | 每个计算机一个版本 |
使用 C# 或 F# 通过 Visual Studio、Visual Studio for Mac 或 Visual Studio Code 进行开发 | 使用 C#、VB 或 F# 通过 Visual Studio 进行开发 |
比 ASP.NET 4.x 性能更高 | 良好的性能 |
使用 .NET Core 运行时 | 使用 .NET Framework 运行时 |
创建 Web 应用项目
在命令输入
# 创建项目
dotnet new webapp -o 项目名
# 信任https证书
dotnet dev-certs https --trust
# 运行应用
dotnet watch run
# 访问: https://localhost:5001/
.NET Core
什么是 .NET Core
就是一个让.NET Framework
跨平台的环境,
创建首个应用程序
# 当前路径创建一个模板控制台应用
dotnet new console
# 运行这个项目
dotnet run
项目结构
参考自.net core项目结构与发布 - 6号咸鱼的文章 - 知乎
# 查看版本信息
dotnet --info
前面提的创建了.NET Core
项目,在当前文件夹下生成了一堆文件
那这些文件有什么用呢?
- 其中obj文件夹包含了编译与生成时需要的和产生的中间文件,一般不需要关注。
TestCSharp.csproj
即项目文件,这个文件是项目组织和配置的核心,会在生成时被MSBuild用来作为输入。csproj文件的本质是一个保存项目信息的xml文件- Progam.cs就是程序的代码文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- OutputType指定了当前项目的类型 -->
<OutputType>Exe</OutputType>
<!-- TargetFramework指定了当前项目所用的框架 -->
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
运行项目的区别
# 如果是用文件(TestCSharp.csproj)启动项目,则是用下面这个命令
dotnet run --project
# 如果是直接在项目目录启动项目则直接
dotnet run